package com.fndsoft.zheshangmeap.data;

import com.fndsoft.zheshangmeap.util.ConfigUtil;
import com.fndsoft.zheshangmeap.util.PhoneUtil;
import com.fndsoft.zheshangmeap.util.ReferenceUtils;
import com.fndsoft.zheshangmeap.util.ValueUtil;

/**
 * 跟用户相关的数据管理类
 * 
 * @author carlos carlosk@163.com
 * @version 创建时间：Mar 16, 2014 9:34:06 AM
 * 
 */

public class UserData extends BaseData {
	private static final String phoneUUIDKey = "phoneUUIDKey";
	private static final String loginname = "username";

	/**
	 * 获取用户的唯一标识符
	 * 
	 * @author carlos carlosk@163.com
	 * @version 创建时间：Mar 16, 2014 9:34:45 AM
	 */
	public static String getUserUniId() {
		// 先从缓存获取
		String result = ReferenceUtils.getStringByKey(phoneUUIDKey);
		if (ValueUtil.isStrNotEmpty(result)) {
			return result;
		}
		// mac地址
		result = PhoneUtil.getPhoneMacAddress();
		if (ValueUtil.isStrNotEmpty(result)) {
			ReferenceUtils.setString(phoneUUIDKey, result);
			return result;
		}
		// 手机号
		result = PhoneUtil.getPhoneNumber();
		if (ValueUtil.isStrNotEmpty(result)) {
			ReferenceUtils.setString(phoneUUIDKey, result);
			return result;
		}
		// IMEI
		result = PhoneUtil.getIMEI();
		if (ValueUtil.isStrNotEmpty(result)) {
			ReferenceUtils.setString(phoneUUIDKey, result);
			return result;
		}
		// 获取一个uuid
		result = ValueUtil.newUUID();
		ReferenceUtils.setString(phoneUUIDKey, result);
		return result;
	}

	/**
	 * 获取缓存中的登录用户名
	 * 
	 * @author LiangXiangJu
	 * @creationTime 2014-3-25 下午1:11:34
	 * @version
	 * @return
	 */
	public static String getUsername() {
		if (ConfigUtil.isDemoData()) {
			return "admin";
		}
		return ReferenceUtils.getStringByKey(loginname);
	}

	/**
	 * 把登录用户名存入缓存
	 * 
	 * @author LiangXiangJu
	 * @creationTime 2014-3-25 下午1:11:42
	 * @version
	 * @param username
	 */
	public static void setUsername(String username) {
		// 存入缓存
		ReferenceUtils.setString(loginname, username);
	}

	/**
	 * 登出
	 * 
	 * @author carlos carlosk@163.com
	 * @version 创建时间：2014年4月14日 上午12:36:10
	 */
	public static void logout() {
		// TODO 登出动作,需要清空缓存数据
		// 清空session等内容
	}
}
